package com.example.demo.filter;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;

/**
 * 第二种Filter
 * @author LF
 * @date 2021/4/16 - 16:04
 */
@WebFilter(urlPatterns = "/*")
public class WebConfig2 implements Filter {
    /**
     *  @WebFilter 注解中可以配置过滤器的拦截规则
     *  这个注解要生效，还需要我们在项目启动类上配置 @ServletComponentScan 注解
     *  @ServletComponentScan 注解虽然名字带了 Servlet，但是实际上它不仅仅可以扫描项目中的 Servlet 容器，
     *  也可以扫描 Filter 和 Listener
     *
     *
     *  这种方式有一个很大的弊端就是无法指定 Filter 的优先级
     * @param request
     * @param response
     * @param chain
     * @throws IOException
     * @throws ServletException
     */
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {
        System.out.println("-----doFilter-----");
        chain.doFilter(request, response);
    }
}
